package wrapper;

/**
 * 包装类的演示
 */
public class IntegerDemo {
    public static void main(String[] args) {
        //演示包装的定义：
        /*
        Integer i = new Integer(5);
        Integer i1 = new Integer(5);
        System.out.println(i==i1);
        System.out.println(i.equals(i1));

        //valueOf()方法会复用一个字节（-128到127）范围内的数据，建议使用valueOf()
        Integer i2 = Integer.valueOf(5);
        Integer i3 = Integer.valueOf(5);
        System.out.println(i2==i3);
        System.out.println(i2.equals(i3));
         */

        //演示基本类型与包装类型之间的转换
        /*
        Integer i = Integer.valueOf(5);//基本类型转换为包装类型
        int j = i.intValue();//包装类型转换为基本类型
         */

        //触发了自动装箱特性，会被编译成：Integer i =Integer.valueOf(5)
        Integer i =5;
        //触发了自动拆装特性，会被编译成：Intege j =i.intvalue()
        int j = i;

        //可以通过包装类来获取基本类型的取值范围
        int max = Integer.MAX_VALUE;
        int min = Integer.MIN_VALUE;
        System.out.println("int的最大值为"+max+"int的最小值为"+min);
        long max1 = Long.MAX_VALUE;
        long min1 = Long.MIN_VALUE;
        System.out.println("long的最大值为"+max1+"long的最小值为"+min1);

        //包装类可以将字符串转换为对应的基本类型
        String s1 = "40";
        int age = Integer.parseInt(s1);
        System.out.println(age);
        String s2 = "123.456";
        double price = Double.parseDouble(s2);
        System.out.println(price);





















    }
}
